<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../../style.css" type="text/css" media="screen">
<link rel="stylesheet" href="../../../../print.css" type="text/css" media="print">
<meta content="JsFeature,org.opensocial.client.jswrapper.JsFeature,dropCallback,popCallback,pushCallback,ready,assertReady,getJsFuncName,registerExternalCallbacks" name="keywords">
<title>org.opensocial.client.jswrapper.JsFeature</title>
</head>
<body>
<script type="text/javascript" language="javascript" src="../../../../asdoc.js"></script><script type="text/javascript" language="javascript" src="../../../../cookies.js"></script><script type="text/javascript" language="javascript">
<!--
				asdocTitle = 'JsFeature - Opensocial Actionscript Client SDK Documentation';
				var baseRef = '../../../../';
				window.onload = configPage;
			--></script>
<table style="display:none" id="titleTable" cellspacing="0" cellpadding="0" class="titleTable">
<tr>
<td align="left" class="titleTableTitle">Opensocial Actionscript Client SDK</td><td align="right" class="titleTableTopNav"><a onclick="loadClassListFrame('../../../../all-classes.html')" href="../../../../package-summary.html">All&nbsp;Packages</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../../all-classes.html')" href="../../../../class-summary.html">All&nbsp;Classes</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../../index-list.html')" href="../../../../all-index-A.html">Index</a>&nbsp;|&nbsp;<a href="../../../../index.html?org/opensocial/client/jswrapper/JsFeature.html&amp;org/opensocial/client/jswrapper/class-list.html" id="framesLink1">Frames</a><a onclick="parent.location=document.location" href="" style="display:none" id="noFramesLink1">No&nbsp;Frames</a></td><td rowspan="3" align="right" class="titleTableLogo"><img alt="Adobe Logo" title="Adobe Logo" class="logoImage" src="../../../../images/logo.jpg"></td>
</tr>
<tr class="titleTableRow2">
<td align="left" id="subTitle" class="titleTableSubTitle">Class&nbsp;JsFeature</td><td align="right" id="subNav" class="titleTableSubNav"><a href="#propertySummary">Properties</a>&nbsp;| <a href="#methodSummary">Methods</a></td>
</tr>
<tr class="titleTableRow3">
<td colspan="2">&nbsp;</td>
</tr>
</table>
<script type="text/javascript" language="javascript">
<!--
if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("Class JsFeature"); titleBar_setSubNav(false,true,false,false,false,false,true,false,false,false,false,false,false,false);}
--></script>
<div class="MainContent">
<table cellspacing="0" cellpadding="0" class="classHeaderTable">
<tr>
<td class="classHeaderTableLabel">Package</td><td><a onclick="javascript:loadClassListFrame('class-list.html')" href="package-detail.html">org.opensocial.client.jswrapper</a></td>
</tr>
<tr>
<td class="classHeaderTableLabel">Class</td><td class="classSignature">public class JsFeature</td>
</tr>
<tr>
<td class="classHeaderTableLabel">Subclasses</td><td><a href="../jswrapper/GadgetsIo.html">GadgetsIo</a>, <a href="../jswrapper/GadgetsRpc.html">GadgetsRpc</a>, <a href="../jswrapper/GadgetsViews.html">GadgetsViews</a>, <a href="../jswrapper/GadgetsWindow.html">GadgetsWindow</a>, <a href="../jswrapper/Opensocial.html">Opensocial</a></td>
</tr>
</table>
<p></p>
 Base class for all features wrapped from Javascript. Core and abstract functionalities are 
 defined in this class, and other feature related codes are in sub classes.
 The client will load several instances of JsFeature to support the whole API.
 
 <p></p>
<br>
<hr>
</div>
<a name="propertySummary"></a><a name="protectedPropertySummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Protected Properties</div>
<table id="summaryTableProtectedProperty" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Property</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#dropCallback">dropCallback</a> : Function<div class="summaryTableDescription">[read-only]
   Returns the drop function of the <code>CallbackManager</code> instance in the client.</div>
</td><td class="summaryTableOwnerCol">JsFeature</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#popCallback">popCallback</a> : Function<div class="summaryTableDescription">[read-only]
   Returns the pop function of the <code>CallbackManager</code> instance in the client.</div>
</td><td class="summaryTableOwnerCol">JsFeature</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#pushCallback">pushCallback</a> : Function<div class="summaryTableDescription">[read-only]
   Returns the push function of the <code>CallbackManager</code> instance in the client.</div>
</td><td class="summaryTableOwnerCol">JsFeature</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#ready">ready</a> : Boolean<div class="summaryTableDescription">[read-only]
   Returns the client.ready property.</div>
</td><td class="summaryTableOwnerCol">JsFeature</td>
</tr>
</table>
</div>
<a name="methodSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Methods</div>
<table id="summaryTableMethod" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#JsFeature()">JsFeature</a>(client:<a href="JsWrapperClient.html">JsWrapperClient</a>)</div>
<div class="summaryTableDescription">
   Initializes the feature instance.</div>
</td><td class="summaryTableOwnerCol">JsFeature</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#registerExternalCallbacks()">registerExternalCallbacks</a>():void</div>
<div class="summaryTableDescription">
   Helper method to register all external callbacks used in this feature.</div>
</td><td class="summaryTableOwnerCol">JsFeature</td>
</tr>
</table>
</div>
<a name="protectedMethodSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Protected Methods</div>
<table id="summaryTableProtectedMethod" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#assertReady()">assertReady</a>():void</div>
<div class="summaryTableDescription">
   Asserts the client.ready property.</div>
</td><td class="summaryTableOwnerCol">JsFeature</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#getJsFuncName()">getJsFuncName</a>(funcName:String):String</div>
<div class="summaryTableDescription">
   Generates the javascript function name with the <code>jsNamespace</code> value.</div>
</td><td class="summaryTableOwnerCol">JsFeature</td>
</tr>
</table>
</div>
<script type="text/javascript" language="javascript">
<!--
showHideInherited();
--></script>
<div class="MainContent">
<a name="propertyDetail"></a>
<div class="detailSectionHeader">Property detail</div>
<a name="dropCallback"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">dropCallback</td><td class="detailHeaderType">property</td>
</tr>
</table>
<div class="detailBody">
<code>dropCallback:Function</code>&nbsp;&nbsp;[read-only]<p>
   Returns the drop function of the <code>CallbackManager</code> instance in the client.
   </p><span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;protected function get dropCallback():Function</code>
<br>
<p>
<span class="label">See also</span>
</p>
<div class="seeAlso">CallbackManager.drop</div>
</div>
<a name="popCallback"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">popCallback</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>popCallback:Function</code>&nbsp;&nbsp;[read-only]<p>
   Returns the pop function of the <code>CallbackManager</code> instance in the client.
   </p><span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;protected function get popCallback():Function</code>
<br>
<p>
<span class="label">See also</span>
</p>
<div class="seeAlso">CallbackManager.pop</div>
</div>
<a name="pushCallback"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">pushCallback</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>pushCallback:Function</code>&nbsp;&nbsp;[read-only]<p>
   Returns the push function of the <code>CallbackManager</code> instance in the client.
   </p><span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;protected function get pushCallback():Function</code>
<br>
<p>
<span class="label">See also</span>
</p>
<div class="seeAlso">CallbackManager.push</div>
</div>
<a name="ready"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">ready</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>ready:Boolean</code>&nbsp;&nbsp;[read-only]<p>
   Returns the client.ready property.
   </p><span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;protected function get ready():Boolean</code>
<br>
<p>
<span class="label">See also</span>
</p>
<div class="seeAlso">
<a href="JsWrapperClient.html#ready" target="">JsWrapperClient.ready</a>
</div>
</div>
<a name="constructorDetail"></a>
<div class="detailSectionHeader">Constructor detail</div>
<a name="JsFeature()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">JsFeature</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">constructor</td>
</tr>
</table>
<div class="detailBody">
<code>public function JsFeature(client:<a href="JsWrapperClient.html">JsWrapperClient</a>)</code><p>
   Initializes the feature instance.
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">client</span>:<a href="JsWrapperClient.html">JsWrapperClient</a></code> &mdash; The wrapper client.
   </td>
</tr>
</table>
</div>
<a name="methodDetail"></a>
<div class="detailSectionHeader">Method detail</div>
<a name="assertReady()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">assertReady</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td>
</tr>
</table>
<div class="detailBody">
<code>protected function assertReady():void</code><p>
   Asserts the client.ready property. Throws error if not ready.
   </p></div>
<a name="getJsFuncName()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">getJsFuncName</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function getJsFuncName(funcName:String):String</code><p>
   Generates the javascript function name with the <code>jsNamespace</code> value.
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">funcName</span>:String</code></td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code>String</code> &mdash; The javascript function name for <code>ExternalInterface</code> to call.
   </td>
</tr>
</table>
<p>
<span class="label">See also</span>
</p>
<div class="seeAlso">
<a href="JsWrapperClient.html#jsNamespace" target="">JsWrapperClient.jsNamespace</a>
</div>
</div>
<a name="registerExternalCallbacks()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">registerExternalCallbacks</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function registerExternalCallbacks():void</code><p>
   Helper method to register all external callbacks used in this feature.
   Subclasses may override this method.
   </p></div>
<br>
<br>
<hr>
<br>
<p></p>
<center class="copyright">2009 Opensocial</center>
</div>
</body>
</html>
<!--2009 Opensocial-->
